Method and system for using a keyboard overlay with a touch-sensitive display screen

ABSTRACT

Disclosed is a “keyboard overlay” that sits on top of a touch-sensitive display screen of a computing device. After aligning the overlay on the display screen, the user types on the overlay. When the user presses a key on the overlay, the pressure is transmitted to the display screen below. That pressure is registered by the display screen as a touch. The keyboard overlay is formed to provide tactile finger-position feedback so that a user can keep his fingers oriented properly over the keyboard. The overlay may be opaque with keycap information displayed in the key areas. The overlay may be transparent, allowing a user to see a virtual keyboard painted on the display screen below. The computing device can detect the presence and type of an overlay. Applications may respond differently to different types of overlays. Different applications may be invoked depending upon the type of overlay detected.

CROSS-REFERENCE TO RELATED APPLICATION

This application is a divisional of the coassigned U.S. patentapplication Ser. No. 10/177,952, filed on Jun. 21, 2002, now U.S. Pat.No. 6,776,546, and entitled “Method and System for Using a KeyboardOverlay with a Touch-Sensitive Display Screen.” Priority is herebyclaimed to this case under 35 U.S.C. §120. The present application isalso related to U.S. patent application Ser. No. 10/124,930, filed onApr. 18, 2002, and entitled “Virtual Keyboard for Touch-Typing UsingAudio Feedback.”

TECHNICAL FIELD

The present invention is related generally to touch-sensitive displayscreens, and, more particularly, to providing feedback to a user of atouch-sensitive display screen.

BACKGROUND OF THE INVENTION

Many computing applications require some amount of data entry. Someapplications call for only a very limited number of characters, such aswhen a user enters a password or a PIN. Other applications, for exampleword processing or e-mail, require the user to enter extended amounts ofdata. For these latter applications, the keyboard reigns as the supremedata-entry device. Its design has been fashioned over more than acentury to take advantage of people's nature manual dexterity. Today,typing on a keyboard is a common skill, and its supporting hardware andsoftware are standardized and cheap.

Recently, small portable computing devices that support some form ofdata entry have become common. Such devices, typically smaller than alaptop computer, include, for example, cellular telephones, two-waypagers, and personal digital assistants. Often, these devices include atouch-sensitive display screen that serves both to display output fromthe computing device to its user and to receive input from the user. Forsome applications, the user “writes” with a stylus on the screen. Theuser's handwriting is decoded and becomes input to the computing device.In other applications, the user's input options are displayed as controlicons on the screen. When the user selects an option by touching theicon associated with the option, the computing device detects thelocation of the touch and sends a message to the application or utilitythat presented the icon.

These devices often do not include a keyboard. To enter text, a “virtualkeyboard,” typically a set of icons that look like the keycaps of atraditional keyboard, are painted on the screen. The user “types” bysuccessively touching areas on the screen associated with specifickeycap icons. This method works well for applications that requireminimal data entry and where speed of entry is not a concern.

However, advancing data processing and communications technologies areenabling these small portable devices to support more sophisticatedapplications, specifically applications that call for extended dataentry. As one interesting example, consider a recently introducedtablet-like detachable monitor supported by a host computing device, thehost typically a personal computer (PC) sitting in a fixed location. Thetablet has a touch-sensitive display screen. The tablet, once detachedfrom the host, communicates wirelessly with the host and operates as aportable input/output device. A user carries the tablet around an officeor home, using the tablet to gain access to applications running on thefixed-location host. Some of these applications, for example e-mail,word processing, and Web browsing, require extended text entry.

As experience with this tablet and with other increasingly capableportable devices has hinted, extensive data entry would be facilitatedby a more robust data-entry mechanism than a stylus (or finger) on avirtual keyboard. Extensive typing on a virtual keyboard is a slow andtedious process, partly because a user must continually correct theposition of his fingers over the keycap icons. A traditional hardwarekeyboard provides finger-positioning feedback via the indented surfacesof the keys. Touch-sensitive display screens are flat to allow goodviewing, but their flatness does not provide such tactile feedback. Asanother hindrance to quick typing, these screens are also quite rigidwith essentially no “give” to tell the user that a virtual key has beenpressed.

Several attempts have been made to add a hardware keyboard to a smallportable device, but none of these attempts has led to a satisfactorymechanism for extended data entry. One problem lies in the size of thehardware keyboard: full-size keyboards are cumbersome to carry around,detracting from the very portability that defines these devices, whilesmaller keyboards, useful for limited data-entry applications, do notcomfortably accommodate the human hand to allow for rapid and extendedtyping.

What is needed is a way to make a touch-sensitive display screen into amore acceptable extended data-entry device. The utility of such a devicewould not be limited to portable display devices, but would enhance theexperience of entering data on any touch-sensitive display screen.

SUMMARY OF THE INVENTION

In view of the foregoing, the present invention provides a “keyboardoverlay” that sits on top of a touch-sensitive display screen of acomputing device. After aligning the keyboard overlay on the displayscreen, the user types on the keyboard overlay. When the user presses akey on the keyboard overlay, the pressure is transmitted to thetouch-sensitive display screen below. That pressure is registered by thedisplay screen as a touch. The keyboard overlay is formed to providetactile finger-position feedback so that a user can keep his fingersoriented properly over the keyboard. Some embodiments additionallysupply feedback when the user presses a key hard enough to register onthe display screen. The keyboard overlay, in combination with thetouch-sensitive display screen, allows the user to type almost asconveniently and as quickly as on a traditional hardware keyboard.

In some embodiments, the keyboard overlay is formed from an opaque,rubbery plastic. Keycap information is displayed in the key areas of theoverlay. In other embodiments, the overlay is transparent, allowing auser to see a virtual keyboard painted on the touch-sensitive displayscreen below. Some applications may blend the virtual keyboard displaywith other display information below the keyboard overlay.

When not in use, the keyboard overlay is removed from thetouch-sensitive display screen. Flexible embodiments of the keyboardoverlay may be rolled up, and rigid embodiments may be stored on apocket of the computing device.

The touch-sensitive display screen can continue to operate as it alwayshas, and the computing device need not even be aware of the presence ofthe keyboard overlay. If, however, the computing device becomes aware ofthe presence of the keyboard overlay, then it can modify its behavioraccordingly. For example, an application running on the computing devicecan switch to a text-entry mode when a keyboard overlay is detected. Aspart of the switch, the application can paint a virtual keyboard underthe keyboard overlay that matches the size and key positions of theoverlay. The application moves other display information to parts of thescreen not covered by the overlay.

In some embodiments, the computing device knows not only that a keyboardoverlay is present, but also knows the type of the overlay. In oneembodiment, the keyboard overlay contains active or passive electroniccomponents (for example, wire jumpers, resistors, or even an electronicchip) that are powered by the computing device when the overlay is putin place. The computing device queries the electronic components to knowthe type of the overlay. Applications may respond differently todifferent types of overlays. Further, different applications may beinvoked depending upon the type of overlay detected. For example, anoverlay that looks the keypad of a calculator may bring up a calculatorapplication designed to work with that keypad.

Some embodiments of the keyboard overlay incorporate a rigid frame inaddition to soft plastic key areas. The frame serves to align thekeyboard overlay with respect to the touch-sensitive display screen andphysically isolates each key area from its neighbors, preventingpressure on one key area from blurring over into adjacent key areas.

BRIEF DESCRIPTION OF THE DRAWINGS

While the appended claims set forth the features of the presentinvention with particularity, the invention, together with its objectsand advantages, may be best understood from the following detaileddescription taken in conjunction with the accompanying drawings ofwhich:

FIG. 1 is a block diagram showing an exemplary computing environmentwith a keyboard overlay sitting on top of a touch-sensitive displayscreen of a portable tablet;

FIG. 2 a is a schematic diagram generally illustrating an exemplarycomputing system that supports the present invention and

FIG. 2 b is a schematic diagram showing an exemplary softwareenvironment for a portable tablet that supports the present invention;

FIG. 3 a is a top-view schematic diagram of an exemplary keyboardoverlay;

FIG. 3 b is a cross-sectional view of a keyboard overlay with no keysdepressed;

FIG. 3 c is a cross-sectional view of a keyboard overlay with one keydepressed; and

FIG. 3 d is a cross-sectional view of a keyboard overlay with a rigidframe and with one key depressed;

FIG. 4 is a schematic diagram of an exemplary connection of a keyboardoverlay to a computing device;

FIGS. 5 a and 5 b together form a flowchart of an exemplary method forusing a keyboard overlay with a computing device; and

FIGS. 6 a and 6 b together form a flowchart of an exemplary methodusable by an application for responding to the presence of a keyboardoverlay.

DETAILED DESCRIPTION OF THE INVENTION

Turning to the drawings, wherein like reference numerals refer to likeelements, the present invention is illustrated as being implemented in asuitable computing environment. The following description is based onembodiments of the invention and should not be taken as limiting theinvention with regard to alternative embodiments that are not explicitlydescribed herein.

In the description that follows, the environment surrounding the presentinvention is described with reference to acts and symbolicrepresentations of operations that are performed by one or morecomputing devices, unless indicated otherwise. As such, it will beunderstood that such acts and operations, which are at times referred toas being computer-executed, include the manipulation by the processingunit of the computing device of electrical signals representing data ina structured form. This manipulation transforms the data or maintainsthem at locations in the memory system of the computing device, whichreconfigures or otherwise alters the operation of the device in a mannerwell understood by those skilled in the art. The data structures wheredata are maintained are physical locations of the memory that haveparticular properties defined by the format of the data. However, whilethe invention is being described in the foregoing context, it is notmeant to be limiting as those of skill in the art will appreciate thatvarious of the acts and operations described hereinafter may also beimplemented in hardware.

A keyboard overlay according to the principles of the present inventionmay be developed for use with any touch-sensitive display screen. FIG. 1presents a specific example of a computing environment with such adisplay screen. In FIG. 1, a portable, interactive display device or“tablet” 100 communicates with a host computing device 102 via awireless communications channel, here illustrated by a radio antenna 104on the portable tablet 100 and by another antenna 106 on the host 102.The portable tablet 100 has a touch-sensitive display screen by means ofwhich the portable tablet 100 presents to its user a graphical userinterface of the host 102. The user sends input to the host 102 bytouching the display screen with a stylus 108 or with a keyboard overlay110. The portable tablet 100 may support other input and outputperipherals (not shown) including a mouse, speaker, camera, and thelike. The portable tablet 100 is of the type disclosed in U.S. patentapplication Ser. No. 09/784,716, “Methods and Systems for a Portable,Interactive Display Device for Use with a Computer,” which isincorporated herein by reference in its entirety.

The host computing device 102 is separate from the portable tablet 100and usually sits in a fixed location. The host 102 may support anynumber of peripherals, here illustrated by a hardware keyboard 114 and amouse 116 attached to the host by a wired communications channel. Thehost 102 provides storage space, access to its own peripheral devices,and processing to run applications. The portable tablet 100 need onlyprovide the amount of processing necessary to communicate with the host102, to run the client side of the hosting software, and to providesecurity functions.

The portable tablet 100 operates in two modes: untethered, as describedabove, and tethered. The untethered mode is limited by the bandwidth andrange of the wireless communications channel. The host computing device102 provides a docking station 112 that accommodates the portable tablet100. When in the docking station, the portable tablet 100 switches totethered mode. In this mode, the portable tablet 100 operates as adisplay for the host 102 and communicates with the host 102 throughconnectors on the docking station 112 rather than through the wirelesschannel. This allows for a higher quality video connection. In FIG. 1,the docking station 112's connection to the host 102 is by way of awired communications channel. Other communications options are possible.The docking station 112 may provide power to run the portable tablet 100and to recharge its batteries.

The portable tablet 100 and the host computing device 102 of FIG. 1 maybe of any architecture. FIG. 2 a is a block diagram generallyillustrating an exemplary computer system that supports the presentinvention. The computer system of FIG. 2 a is only one example of asuitable environment and is not intended to suggest any limitation as tothe scope of use or functionality of the invention. Neither should theportable tablet 100 or the host 102 be interpreted as having anydependency or requirement relating to any one or combination ofcomponents illustrated in FIG. 2 a. The invention is operational withnumerous other general-purpose or special-purpose computing environmentsor configurations. Examples of well known computing systems,environments, and configurations suitable for use with the inventioninclude, but are not limited to, personal computers, servers, hand-heldor laptop devices, multiprocessor systems, microprocessor-based systems,set-top boxes, programmable consumer electronics, network PCs,minicomputers, mainframe computers, and distributed computingenvironments that include any of the above systems or devices. In theirmost basic configurations, the portable tablet 100 and the host 102typically include at least one processing unit 200 and memory 202. Thememory 202 may be volatile (such as RAM), non-volatile (such as ROM orflash memory), or some combination of the two. This most basicconfiguration is illustrated in FIG. 2 a by the dashed line 204. Theportable tablet 100 and the host 102 may have additional features andfunctionality. For example, they may include additional storage(removable and non-removable) including, but not limited to, magneticand optical disks and tape. Such additional storage is illustrated inFIG. 2 a by removable storage 206 and by non-removable storage 208.Computer-storage media include volatile and non-volatile, removable andnon-removable, media implemented in any method or technology for storageof information such as computer-readable instructions, data structures,program modules, or other data. Memory 202, removable storage 206, andnon-removable storage 208 are all examples of computer-storage media.Computer-storage media include, but are not limited to, RAM, ROM,EEPROM, flash memory, other memory technology, CD-ROM, digital versatiledisks, other optical storage, magnetic cassettes, magnetic tape,magnetic disk storage, other magnetic storage devices, and any othermedia that can be used to store the desired information and that can beaccessed by the portable tablet 100 or by the host 102. Any suchcomputer-storage media may be part of the portable tablet 100 or thehost 102. The portable tablet 100 and the host 102 may also containcommunications channels 210 that allow them to communicate with otherdevices, including devices on a network 212. Communications channels 210are examples of communications media. Communications media typicallyembody computer-readable instructions, data structures, program modules,or other data in a modulated data signal such as a carrier wave or othertransport mechanism and include any information delivery media. The term“modulated data signal” means a signal that has one or more of itscharacteristics set or changed in such a manner as to encode informationin the signal. By way of example, and not limitation, communicationsmedia include optical media, wired media, such as wired networks anddirect-wired connections, and wireless media such as acoustic, RF,infrared, and other wireless media. The term “computer-readable media”as used herein includes both storage media and communications media. Theportable tablet 100 and the host 102 may also have input devices 214such as a touch-sensitive display screen, a stylus 108, a keyboardoverlay 110, a hardware keyboard 114, a mouse 116, a voice-input device,etc. Output devices 216 include the devices themselves, such as thetouch-sensitive display screen, speakers, and a printer, and renderingmodules (often called “adapters”) for driving these devices. All thesedevices are well know in the art and need not be discussed at lengthhere. The portable tablet 100 and the host 102 each has a power supply218. On the portable tablet 100, the power supply 218 includes a batteryand may include circuitry for recharging the battery whenever theportable tablet 100 is in the docking station 112.

When operating in untethered mode, the portable tablet 100 is supportedby software that projects the user interface of the host computingdevice 102 to the portable tablet 100. The software also accepts userinput from the portable tablet 100 and sends it to the host 102. As anexample of this software, FIG. 2 b is a block diagram of Microsoft's“WINDOWS TERMINAL SERVICES.” An application program 220 running on thehost 102 sends its output to the operating system 224 intending that theoutput be displayed in one or more windows managed by the Desktop 222.If the user of the application program 220 is using a portable tablet100, however, the Terminal Services software component 226 interceptsthe display output, reformats it, and delivers it to the Networkingsoftware component 228 for transport to the portable tablet 100. Thedisplay information is transported to the portable tablet 100 by astandard protocol such as Microsoft's Remote Desktop Protocol 230 or bythe Independent Computing Architecture protocol. These protocolsallocate the limited bandwidth of the wireless communications channel,an especially important consideration when a bandwidth-intensiveperipheral, such as a camera, is attached to the portable tablet 100.When the display information reaches the Networking component 232 on theportable tablet 100, it is passed to the Terminal Services Clientcomponent 236. That component interprets the information and displays iton the touch-sensitive display screen of the portable tablet 100. Thisprocedure is reversed for input generated on the portable tablet 100,such as by use of the stylus 108 or of the keyboard overlay 110. Theuser input is presented to the application program 220 as if it weregenerated locally on the host 102. Note that FIG. 2 b is forillustrative purposes only, and the invention is not limited to thespecific software components and protocols shown. In particular, theportable tablet 100 may run an operating system entirely different fromthat of the host 102. The standard display protocol hides implementationdifferences. The protocols and transport methods used to carry thedisplay information are chosen to suit particular needs. For example,protocols TCP/IP, SPX, IPX, and NetBEUI may each be appropriate incertain situations. Appropriate transport methods include infrared andshort-range radio such as Bluetooth, IEEE's 802.11b, and IEEE 1394Firewire.

Typically, touch-sensitive display screens are made up of a touch-sensorcomponent constructed over a display component. The display component(see item 302 of FIGS. 3 b through 3 d) displays images in a mannersimilar to that of a typical monitor on a personal computer. A portabletablet 100 would probably use a liquid crystal display because of thatdisplay's low weight and small depth. Other display technologies arepossible such as, for example, cathode ray tubes, plasma screens,electro-luminescent screens, and organic light-emitting diodes. Thetouch sensor (see item 304 of FIGS. 3 b through 3 d) sits on top of thedisplay component 302. The touch sensor 304 is transparent so that thedisplay may be seen through it. Many touch-sensor technologies are knownin the art, including four-, five-, and eight-wire resistive,capacitive, near field, optical, and acoustic wave. The keyboard overlay110 may be used with any type of display component 302 and any type oftouch sensor 304.

When a user touches the touch-sensitive display screen, whether with thestylus 108, with the keyboard overlay 110, or with a finger, atouch-screen controller detects the touch, determines its location onthe display screen, and sends that information to the operating system234 of the portable tablet 100. If the touch is on an area controlled bythe operating system 234 (for example, on a configuration menu for theportable tablet 100), then the operating system 234 processes the touch.If, on the other hand, the touch is on an area controlled by the hostcomputing device 102, then the location of the touch is sent to theoperating system 224 of the host 102. As appropriate, the touch iseither processed by the host 102's operating system 224 or sent forprocessing to an application program 220 running on the host 102.

FIGS. 3 a through 3 d and FIG. 4 show details of some embodiments of thekeyboard overlay 110. FIG. 3 a presents a top view of a typical keyboardoverlay 110. The key areas 300 of this particular keyboard overlay 110are arranged in the manner of the familiar “QWERTY” keyboard. Anotherembodiment of the keyboard overlay 110 mimics a numerical entry pad.More specialized keyboard overlays 110 may be created for use withparticular application programs. For example, the key areas 300 of thekeyboard overlay 110 may present the entry functions of a scientificcalculator. The present invention is not limited to any particulararrangement of the key areas 300, but contemplates all possiblearrangements as may come within the scope of the following claims andequivalents thereof.

FIGS. 3 b through 3 d show cross-sections of a keyboard overlay 110 inplace over a touch-sensitive display screen. As discussed above, thedisplay screen is made up of a display component 302 and a touch sensor304. In some embodiments, the keyboard overlay 110 is made from a sheetof flexible material. Suitable materials include, for example,thermo-formed plastic, molded silicon rubber, neoprene, and otherpliable plastic- or rubber-based compounds. In the embodiments of FIGS.3 b through 3 d, beneath each key area 300 is attached a displayactuator 306. The display actuator 306 may be simply the bottom of asheet of material that forms the keyboard overlay 110. In otherembodiments, the keyboard actuator 306 is made of a material harder thanthe sheet.

One of the functions of the keyboard overlay 110 is to provide a userwith finger-position feedback. Two of many possible mechanisms forproviding such feedback are shown in FIG. 3 b. First, a key area 300 issurrounded by a ridge 308. Second, the key areas 300 are raised relativeto the “valleys” 310 between the key areas 300. These features allow theuser to feel whether or not his fingers are properly oriented over thekey areas 300. Other possible feedback mechanisms include a raised spoton one or more of the key areas 300 and a depressed crown of the keyareas 300.

FIG. 3 c shows how the keyboard overlay 110 transmits pressure from auser's finger into a touch on the touch-sensitive display screen. Whenthe user presses a key area 300, the key area 300 “collapses” or deformsuntil the display actuator 306 comes into contact with the touch sensor304 of the display screen. In the embodiment of FIG. 3 c, the displayactuator 306 concentrates the pressure of the user's finger into asmall, well defined area on the touch sensor 304. This concentrationallows a touch-screen controller to better locate the touch than ispossible with a finger directly touching the touch sensor 304.

FIG. 3 d illustrates a characteristic of some embodiments of thekeyboard overlay 110 and a mechanism for alleviating problems associatedwith that characteristic. FIG. 3 d is a magnified cross-sectional viewof a depressed key area 300. First consider the right side of thedepressed key area 300. Because the keyboard overlay 110 is flexible,the pressure on the key area 300 causes the keyboard overlay 110 to flexdownward. As expected, this flexing allows the display actuator 306 totouch the touch sensor 304. However, in this particular embodiment, thekeyboard overlay 110 is so flexible that an energetic push on the keyarea 300 also causes the keyboard overlay 110 to flex downward until ittouches the touch sensor 304 at point 312. This additional touch 312 maybe strong enough to be detected by the touch-screen controller. Thetouch-screen controller becomes confused because there are twosimultaneous touches. The touch-screen controller either producesinvalid touch-location information or discards both touches. Eitherpossibility confuses and slows down a user typing on the keyboardoverlay 110.

There are several possible mechanisms for preventing the problemillustrated on the right side of the depressed key area 300 of FIG. 3 d.For example, the flexible keyboard overlay 110 may be formed to be lessflexible (possibly thicker) in the regions 310 between the key areas300. Another possibility is illustrated on the left side of thedepressed key area 300 of FIG. 3 d. A rigid frame 314 is attached to theflexible keyboard overlay 110. The rigid frame 314 prevents the keyboardoverlay 110 from flexing too much and contacting the touch sensor 304 atmultiple points. Many variations on the rigid frame 314 are possible.Some embodiments interpose a rigid element in every valley 310 betweentwo key areas 300. Depending upon the flexibility of the keyboardoverlay 110, other embodiments work with less extensive coverage.

A rigid frame 314 may also serve other purposes. FIG. 4 illustratesthree related aspects of using the keyboard overlay 110: connecting thekeyboard overlay 110 to the portable tablet 100, aligning the keyboardoverlay 110 over the touch-sensitive display screen of the portabletablet 100, and detecting the presence and type of the keyboard overlay110 by the portable tablet 100.

The simplest way to connect the keyboard overlay 110 is simply to lay iton top of a touch-sensitive display screen. When the keyboard overlay110 is used with a portable tablet 100, a more secure connection may bemore convenient. For example, the keyboard overlay 110 may be hinged tothe body of the portable tablet 100 and swung into place when desired.In another embodiment, that of FIG. 4, a rigid frame 314 surrounds theperiphery of the keyboard overlay 110. The rigid frame 314 slides into aslot 400 on the portable tablet 100.

A secure connection mechanism may also simplify aligning the keyboardoverlay 110 over the touch-sensitive display screen. Alignment ispossible without a secure connection, as when a user “eyeballs” a keycapicons painted on the display screen and visually lines up the keyboardoverlay 110 so that its key areas 300 correspond to the painted keycapicons. Alignment may also be achieved by the connection slot 400: whenthe keyboard overlay 110 is slid fully into the slot 400, the keyboardoverlay 110 is properly aligned over the display screen.

Along with connection and alignment, some embodiments provide a way forthe portable tablet 100 to detect the presence and type of the keyboardoverlay 110. Many known technologies are adaptable to detecting thepresence of the keyboard overlay 110. To mention just a few examples: adashpot is pressed when the keyboard overlay 110 is put in place, anoptical sensor detects a change in light caused by the keyboard overlay110, or an electronic sensor detects a change in capacitance caused bythe presence of the keyboard overlay 110. FIG. 4 illustrates yet anotherpossibility for electronic sensing. In FIG. 4, the contacts 402 on theportable tablet 100 and on the keyboard overlay 110 touch when thekeyboard overlay 110 is placed fully into the connection slot 400. Thesecontacts provide electrical power and signaling connections, via leads404, to an electronic chip 406 embedded in the keyboard overlay 110. Theportable tablet 100 reads from the chip 406 the type of the keyboardoverlay 110. As discussed below in reference to FIG. 5 a, the portabletablet 100 uses this type information to, for example, invoke anapplication program 220 associated with the particular type of keyboardoverlay 110. If the keyboard overlay 110 represents an interface to aspecific type of scientific calculator, then an appropriate calculatorprogram may be invoked to accept the user's input. In place of, or inaddition to, the chip 406, other embodiments include other active orpassive electronic components (for example, wire jumpers or resistors).

FIGS. 5 a and 5 b present a flowchart of exemplary steps performed whenusing a keyboard overlay 110. Note that many of the steps in these FIGS.are appropriate only to certain embodiments of the present invention.Details within each step also vary from embodiment to embodiment.

The flowchart begins in step 500 when the keyboard overlay 110 isconnected to a computing system. As discussed above in reference to FIG.4, in some embodiments connecting merely involves placing the keyboardoverlay 110 on top of a touch-sensitive display screen. In otherembodiments, a hinge connects the keyboard overlay 110 to the computingsystem or the keyboard overlay 110 slides into a connection track 400provided by the computing system.

In step 502, the keyboard overlay 110 is properly aligned with respectto the touch-sensitive display screen. The keyboard overlay 110 isoperable with computing systems that are not aware of its presence andthat do not provide any special alignment aids. As discussed above inreference to FIG. 4, the user in this case visually aligns the key areas300 of the keyboard overlay 110 over keycap icons painted by thecomputing system on its display screen. In other embodiments, alignmentis achieved by physical means, possibly involving a secure connectionmechanism. If the computing system is aware of the keyboard overlay 110,it can paint alignment indications on the display screen.

In some embodiments, the computing system becomes aware of the presenceof the keyboard overlay 110 in step 504. Note that this step is notperformed for “legacy” systems that were not designed with a keyboardoverlay 110 in mind. Configuration software is added to some computingsystems to allow a user to tell the computing system when a keyboardoverlay 110 is in place. Some computing systems automatically sense thepresence of the keyboard overlay 110, as discussed above in reference toFIG. 4.

Like step 504, detecting the type of the keyboard overlay 110 in step506 is optional. The type of the keyboard overlay 110 can include suchinformation as its size, whether or not the keyboard overlay istransparent, the arrangement of the key areas 300, keycap indications,if any, and the like. Methods for detecting the type of the keyboardoverlay 110 parallel the methods discussed in reference to step 504 fordetecting the presence of the keyboard overlay 110. Specific embodimentsrange from supporting no detection at all, to allowing a user to tellthe computing system that a specific type of keyboard overlay 110 ispresent, to automatically detecting the type of keyboard overlay 110,such as by the use of an embedded electronic chip 406, as discussedabove in reference to FIG. 4.

Some embodiments of the computing system take advantage, in step 508, oftheir knowledge of the presence and type of the keyboard overlay 110 torearrange information displayed on the touch-sensitive display screen.For example, system warning messages and configuration menus are placedso that they do not lie under the keyboard overlay 110.

Building on its knowledge of the type of the keyboard overlay 110gathered in step 506, some embodiments of the computing system invoke,in step 510, an application program 220 appropriate to this type ofkeyboard overlay 110. (Note that if the computing system is a portabletablet 100, then this step includes asking the host computing system 102to run the appropriate application program 220.) This step encouragesthe use of application-specific keyboard overlays 110. For example, thekeyboard overlay 110 is found to present menu-selection keys for afast-food restaurant. An order-entry application program 220 is invoked,accepting menu orders typed in on the keyboard overlay 110, sending theorders to the food-preparation staff, and presenting the total cost of acustomer's bill on the touch-sensitive display screen. Step 510 becomesmore valuable as keyboard overlays 110 and application programs 220 arespecifically designed to work with one another.

In step 512, the computing system tells the application program 220 thatwill accept input from the keyboard overlay 110 of the presence and typeof the keyboard overlay 110. As with previous steps, embodiments of thisstep range a large range, from doing nothing at all in the case of anunaware legacy application program 220 to providing a full disclosure toan application program 220 specifically invoked (in step 510) to runwith this type of keyboard overlay 110. FIGS. 6 a and 6 b, discussedbelow, present steps taken by an exemplary application program 220 whenused with a keyboard overlay 110.

Steps 514 through 522 present a loop of exemplary steps taken when auser types on the keyboard overlay 110. In step 514, the physicalstructure of the keyboard overlay 110 provides feedback to the user sothat the user can keep his fingers positioned properly over the keyboardoverlay 110's key areas 300. The discussion of FIG. 3 b presents a fewexamples of how this feedback is provided: a depressed crown on top ofthe key area 300, a ridge around the key area 300, and a valley 310between key areas 300 and serving to tactilely distinguish one key area300 from its neighbors. In any case, confident that his fingers areproperly positioned, the user presses a key area 300 in step 516. Thedeformation of the key area 300 caused by the user's pressure providesfeedback to the user in step 518 telling the user that the key area 300has been pressed hard enough to generate a touch on the touch-sensitivedisplay screen. The user's pressure is delivered to the display screenby a display actuator 306 and is detected by the touch-screen controlleras a touch in step 520. As is well known in the art, the touch isdirected to the application program 220 (or operating system utility)that is accepting input from the location on the display screen wherethe touch is detected. The location of the detected touch is passed tothe application program 220 in step 522. The application program 220processes the touch as appropriate.

FIGS. 6 a and 6 b present a flowchart of exemplary steps performed by anapplication program 220 responding to input from a keyboard overlay 110.Note that, as in the flowchart of FIGS. 5 a and 5 b, many of the stepsin these FIGS. are appropriate only to certain embodiments of thepresent invention, and details within each step vary from embodiment toembodiment.

In step 600, the application program 220 is informed of the presence andtype of a keyboard overlay 110. In response to that information, theapplication program 220, in step 602, rearranges the information that itdisplays on the touch-sensitive display screen, moving information toareas of the display screen not covered by this type of keyboard overlay110. This is similar to the operating system's action in step 508 ofFIG. 5 a. Legacy application programs 220 are not aware of the keyboardoverlay 110 and so do not perform steps 600 and 602.

Some application programs 220 have a special keyboard-input mode. Whenthe keyboard overlay 110 is first detected, the application program 220can take the presence of the keyboard overlay 110 as an indication thatthe user wishes to enter this mode.

If the application program 220 is unaware of the keyboard overlay 110,then it probably performs step 606, painting keycap icons on thetouch-sensitive display screen, before the user aligns the keyboardoverlay 110 over the keycap icons. This may be in response to the userpressing a button or performing some other action to bring up thevirtual keyboard. Some keyboard-overlay-aware application programs 220instead paint the keycap icons in response to the presence of thekeyboard overlay 110. In some embodiments, the specific keycap iconspainted and their arrangement depends upon the specific type of thekeyboard overlay 110. The keycap icons may also depend uponconfiguration information set by the user. For example, the currencyicon could be “$” in the United States and “¥” in Japan. Of course,keyboard-overlay-aware application programs 220 need not paint keycapicons if the keyboard overlay 110 is known to be opaque. For a pleasingaesthetic effect, the keycap icons are alpha-blended with whateverdisplay information is already present on the display screen.

Steps 608 through 614 form a loop of exemplary steps performed by theapplication program 220 as the keyboard overlay 110 is used. In step608, the application program 220 receives information about a touchdetected by the touch sensor 304. As described above in reference tostep 520 of FIG. 5 b, detected touches are sent to the operating systemutility or application program 220 responsible for processing input fromthe touch's location on the touch-sensitive display screen. Audiblefeedback can be sent to the user so that he knows that he hit a key area300 hard enough to register a touch. In step 610, the applicationprogram 220 correlates the touch location with a specific key area 300to determine, for example, that the user just typed a letter “J.” Instep 612, the application program 220 takes action appropriate to thespecific key area 300 just touched. For example, the application program220 appends a letter “J” to a text string being entered.

Step 614 presents a possibility when the keyboard overlay 110 istransparent. The keycap icons are repainted in response to user input.For example, when CAPS is pressed, upper case letters are shown. Morespecialized changes are possible and depend upon the nature of theapplication program 220.

In view of the many possible embodiments to which the principles of thepresent invention may be applied, it should be recognized that theembodiments described herein with respect to the drawing figures aremeant to be illustrative only and should not be taken as limiting thescope of the invention. Those of skill in the art will recognize thatsome implementation details, such as arrangements of key areas andconstruction details, are determined by specific situations. Althoughthe environment of the invention is described in terms of softwaremodules or components, some processes may be equivalently performed byhardware components. Therefore, the invention as described hereincontemplates all such embodiments as may come within the scope of thefollowing claims and equivalents thereof.

1. A computing system adapted for use with a keyboard overlay, thecomputing system comprising: a touch-sensitive display screen; aconnector for removably connecting a keyboard overlay to the computingsystem; and a keyboard overlay detector for detecting a presence orabsence of a keyboard overlay, wherein the keyboard overlay detector isadapted for reading a type identifier of a keyboard overlay, and whereinthe keyboard overlay detector is further adapted for supplying power toan electronic component of a keyboard overlay and for reading a keyboardoverlay type identifier from the electronic component.
 2. The computingsystem of claim 1 wherein the connector comprises, at least in part, analignment mechanism for aligning a keyboard overlay with thetouch-sensitive display screen.
 3. The computing system of claim 1further comprising a storage space for a keyboard overlay when not inuse.
 4. The computing system of claim 2 wherein the connector comprises,at least in part, the keyboard overlay detector.
 5. The computing systemof claim 1 further comprising a utility program for communicating withthe keyboard overlay detector and for alerting applications to apresence or absence of a keyboard overlay.
 6. The computing system ofclaim 1 further comprising a utility program for communicating with thekeyboard overlay detector and for alerting applications to a type of akeyboard overlay.